﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace BattleforgeAssault
{
    public abstract class CapitalZone : Location
    {
        #region Properties

        #region Modified Stats

        private int _power = 0;
        public int Power { get { return Game.GetModified(this, "Power", _power); } set { _power = value; RaisePropertyChanged("Power"); } }

        private int _hitPoints = 8;
        public int HitPoints { get { return Game.GetModified(this, "HitPoints", _hitPoints); } set { _hitPoints = value; RaisePropertyChanged("HitPoints"); } }

        private int _damageTaken = 0;
        public int DamageTaken { get { return Game.GetModified(this, "DamageTaken", _damageTaken); } set { _damageTaken = value; RaisePropertyChanged("DamageTaken"); } }

        private int _damageAssigned = 0;
        public int DamageAssigned { get { return Game.GetModified(this, "DamageAssigned", _damageAssigned); } set { _damageAssigned = value; RaisePropertyChanged("DamageAssigned"); } }

        #endregion Modified Stats

        private bool _isBurning = false;
        public bool IsBurning { get { return _isBurning; } set { _isBurning = value; RaisePropertyChanged("IsBurning"); } }

        #endregion Properties

        public CapitalZone()
        {
            IsInPlay = true;
        }

        public void Burn()
        {
            IsBurning = true;
        }
    }
}
